package com.rss.model;

import java.sql.SQLDataException;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class WeatherDataSource {

	private SQLiteDatabase database;
	private DatabaseHelper dbHelper;
	private String[] allColumns = { DatabaseHelper.WEATHER_ID,
			DatabaseHelper.WEATHER_NAME, DatabaseHelper.WEATHER_PATH };

	public WeatherDataSource(Context context) {
		dbHelper = new DatabaseHelper(context);
	}
	
	public void open() throws SQLDataException {
		database = dbHelper.getWritableDatabase();
	}
	
	public void close() {
		dbHelper.close();
	}
	
	public void createWeather(String name, String path) {
		ContentValues values = new ContentValues();
		values.put(DatabaseHelper.WEATHER_NAME, name);
		values.put(DatabaseHelper.WEATHER_PATH, path);
		long insertId = database.insert(DatabaseHelper.TABLE_NAME, null, values);
		database.query(DatabaseHelper.TABLE_NAME, allColumns, DatabaseHelper.WEATHER_ID +" = " + insertId, null, null, null, null);
		
//		cursor.moveToFirst();
//		Weather newWeather = cursorToWeather(cursor);
//		cursor.close();
//		return newWeather;
	}
	
	public void updateWeather(String path, String name) {
		ContentValues values = new ContentValues();
		values.put(DatabaseHelper.WEATHER_PATH, path);
		database.update(DatabaseHelper.TABLE_NAME, values, DatabaseHelper.WEATHER_NAME + "=" + name, null);
		
	}
	
	public String searchWeather(String name) {
		ContentValues values = new ContentValues();
		values.put(DatabaseHelper.WEATHER_NAME, name);
		Cursor cursor = database.query(DatabaseHelper.TABLE_NAME, allColumns, DatabaseHelper.WEATHER_NAME +" = \"" + name + "\"", null, null, null, null);
		cursor.moveToFirst();
		String thePath = cursorToPath(cursor);
		cursor.close();
		return thePath;
	}
	
	public String cursorToPath(Cursor cursor) {
		return cursor.getString(2); 
	}
}
